基本SHELL命令使用

介绍

Shell 是什么

关于 shell, 广义的解释是 —— shell 是介于用户与系统之间,帮助用户与系统进行沟通的工具。除了文字模式的 shell 外,GNOME 这类图形界面也属于 shell 的范畴。不过我们通常提到 shell 时都是指狭义的 shell,即文字模式的 shell。

为什么要学习 shell

  • 尽管图形用户界面很强大,但它毕竟也只是一个程序套件,shell 的功能和能执行的任务则比图形界面要 强得多
  • shell 是文字模式,因此远程登录和传输的速度比图形界面 更快
  • shell 使用 更方便 。在图形界面需要打开许多窗口执行许多次点击的任务,使用 shell 也许只需要简单几个命令就能完成了

在哪里可以运行Shell命令

  • Linux 下支持的 shell 有许多种,但我们只要学习最应用最广泛的 bash shell 就行了。而且现在主要的 Linux 发行版都使用 bash 做为默认的管理 shell。所以不论使用哪种 Linux 发行版,都无可避免地要学习 bash。
  • Windows用户 需要下载相应的客户端才可以运行,比如Git bash、SecureCRT等,系统自带的CMD就算了,那也就能使用dir等几个简单的。
  • 有 Mac 的同学之间在 Bash 下就可以运行。

1.cd 目录切换

注意目录分隔符为“/”,与dos相反

# 格式:cd dirname,比如我们要进入到d盘的website目录
$ cd /d/website
# 到当前目录的上一级
$ cd ../
# 到当前目录的上上级
$ cd ../../

2.mkdir 新建文件夹

$ mkdir dirname
$ mkdir website

3.touch 创建文件

$ touch .gitignore
$ touch a.js b.html c.css

4.ls 显示文件

命令格式:ls [option] file

# 显示详细列表
$ ls -l
# ls -l的简写
$ ll
# 显示所有文件,包含隐藏文件(以. 起头的文件名)
$ ls -a
# 显示文件及所有子目录
$ ls -R
$ 显示文件(后跟*)和目录(后跟/)
$ ls -F
# 与l选项合用,显示目录名而非其内容
$ ls -d

5.pwd 显示当前路径

$ pwd

6.cat 显示文件内容

# 格式:cat filename
$ cat a.js

7.rm 删除文件或目录

命令格式: rm [-r] filename (filename 可为档名,或档名缩写符号.)

# 删除档名为 file1 之文档.
$ rm file1
# 删除档名中有五个字元,前四个字元为file 之所有文档.
$ rm file?
# 删除档名中,以 f 为字首之所有文档.
$ rm f*
# 删除目录 dir1,及其下所有文档及子目录.
$ rm -r dir1

8.cp 文档的复制

命令格式: cp [-r] source destination

# 将文档 file1 复制成 file2
$ cp file1 file2
# 将文档 file1 复制到目录 dir1 下,文件名仍为 file1.
$ cp file1 dir1
# 将目录 /tmp 下的文档 file1复制到现行目录下,文件名仍为 file1.
$ cp /tmp/file1 .
# 将目录 /tmp 下的文档 file1现行目录下,档名
为file2
$ cp /tmp/file1 file2
# (recursive copy) 复制整个目录.
$ cp -r dir1 dir2
# 复制dir1整个目录到dir2
$ cp -R dir1 dir2

9.mv 移动文件

命令格式: mv source destination

# 将文档 file1,更改档名为 file2.
$ mv file1 file2
# 将文档 file1,移到目录 dir1 下,档名仍为 file1.
$ mv file1 dir1
# 若目录 dir2 不存在,则将目录 dir1,及其所有档案和子目录,移到目录 dir2 下,新目录名称为 dir1.若目录dir2 不存在,则将dir1,及其所有文档和子目录,更改为目录 dir2.
$ mv dir1 dir2

10.grep 搜索

$ grep string filename
# 在a.js文件中查找===字符串,并且显示行号
$ grep -rn '====' a.js

11.vim 编辑器

命令状态:

  • j,k,h,l:上下左右
  • 0: 行首
  • $: 行尾
  • i,I :插入命令,i 在当前光标处插入 I 行首插入
  • a,A:追加命令,a 在当前光标后追加,A 在行末追加
  • o,O:打开命令,o 在当前行下打开一行,O在当前行上插入一行
  • r,R :替换命令,r 替换当前光标处字符,R从光标处开始替换
  • 数字s: 替换指定数量字符
  • x: 删除光标处字符
  • dd: 删除当前行
  • d0: 删除光标前半行
  • d$: 删除光标后半行
  • ctrl+f :后翻页
  • ctrl+b:前翻页
  • G : 文件尾
  • 数字G: 数字所指定行
  • /string 查找字符串
  • n 继续查找
  • N 反向继续查找
  • % 查找对应括号
  • u 取消上次操作
  • ex命令状态
  • :0 文件首
  • :1,5 copy 7 块拷贝
  • :1,5 del 块删除
  • :1,5 move 7 块移动
  • :1,$s/string1/string2/g 全文件查找string1并替换为string2
  • :wq! 存盘退出

结语

以上内容属于常用的基础shell命令,不完整,但简单实用。系统深入学习请继续查找相关资料。

results matching ""

    No results matching ""